<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<div id="app">
			<!-- 使用自定义组件 my-component，并传递 initnum 作为 initCount 属性的值 -->
			<my-component :init-count="initnum"></my-component>
		</div>
		<script src="../js/vue.js" type="text/javascript" charset="utf-8"></script>
		<script>
			// 定义名为'my-component'的 Vue 组件
			Vue.component('my-component', {
				// 声明组件接收名为'initCount'的属性
				props: ['initCount'],
				// 定义组件的模板，包含原始值的显示、改变值的按钮和监听输入框
				template: `<div>原始值{{ count }}
				<button type="button" @click="add()">改变原始值</button><br />
				监听<input type="text" name="" id="" value="" v-model="count"/></div>`,
				// 定义组件的数据
				data: function() {
					return {
						// 将传递进来的 initCount 值赋给组件内部的 count 数据
						count: this.initCount
					}
				},
				// 定义组件的方法
				methods: {
					// 点击按钮时执行的方法，使 count 值增加 1
					add: function() {
						this.count++
					}
				},
				// 监听 initCount 属性的变化
				watch: {
					initCount: function(newV, oldV) {
						// 当 initCount 属性变化时，更新组件内部的 count 值
						this.count = newV;
					}
				}
			});
			// 创建一个新的 Vue 实例，并将其挂载到具有 id 为 'app' 的元素上
			var app = new Vue({
				el: '#app',
				// 定义实例的数据，包含 initnum 并初始化为 100
				data: {
					initnum: 100
				}
			})
		</script>

	</body>
</html>